Standard Module aifc

aifc This module provides support for reading and writing AIFF and AIFF-C files. AIFF is Audio Interchange File Format, a format for storing digital audio samples in a file. AIFF-C is a newer version of the format that includes the ability to compress the audio data. Audio files have a number of parameters that describe the audio data. The sampling rate or frame rate is the number of times per second the sound is sampled. The number of channels indicate if the audio is mono, stereo, or quadro. Each frame consists of one sample per channel. The sample size is the size in bytes of each sample. Thus a frame consists of nchannels*framesize bytes, and a second's worth of audio consists of nchannels*framesize*framerate bytes. Module aifc defines the following function:
\begin{funcdesc}{open}{file\, mode}
Opens an AIFF or AIFF-C file and returns an ...
...ned for reading, or 'w' when the file
must be opened for writing.
\end{funcdesc}
Objects returned by aifc.open() when a file is opened for reading have the following methods:
\begin{funcdesc}{getnchannels}{}
Return the number of audio channels (1 for mono, 2 for stereo).
\end{funcdesc}

\begin{funcdesc}{getsampwidth}{}
Return the size in bytes of individual samples.
\end{funcdesc}

\begin{funcdesc}{getframerate}{}
Return the sampling rate (number of audio frames per second).
\end{funcdesc}

\begin{funcdesc}{getnframes}{}
Return the number of audio frames in the file.
\end{funcdesc}

\begin{funcdesc}{getcomptype}{}
Return a four-character string describing the ty...
... audio file. For AIFF files, the returned value is
\code{'NONE'}.
\end{funcdesc}

\begin{funcdesc}{getcompname}{}
Return a human-readable description of the type ...
...e. For AIFF files, the returned value is \code{'not
compressed'}.
\end{funcdesc}

\begin{funcdesc}{getparams}{}
Return a tuple consisting of all of the above values in the above
order.
\end{funcdesc}

\begin{funcdesc}{getmarkers}{}
Return a list of markers in the audio file. A mar...
... data
(an integer), the third is the name of the mark (a string).
\end{funcdesc}

\begin{funcdesc}{getmark}{id}
Return the tuple as described in \code{getmarkers} for the mark with
the given id.
\end{funcdesc}

\begin{funcdesc}{readframes}{nframes}
Read and return the next nframes frames fr...
...ntaining for each frame the uncompressed
samples of all channels.
\end{funcdesc}

\begin{funcdesc}{rewind}{}
Rewind the read pointer. The next \code{readframes} will start from
the beginning.
\end{funcdesc}

\begin{funcdesc}{setpos}{pos}
Seek to the specified frame number.
\end{funcdesc}

\begin{funcdesc}{tell}{}
Return the current frame number.
\end{funcdesc}

\begin{funcdesc}{close}{}
Close the AIFF file. After calling this method, the object can no
longer be used.
\end{funcdesc}
Objects returned by aifc.open() when a file is opened for writing have all the above methods, except for readframes and setpos. In addition the following methods exist. The get methods can only be called after the corresponding set methods have been called. Before the first writeframes or writeframesraw, all parameters except for the number of frames must be filled in.
\begin{funcdesc}{aiff}{}
Create an AIFF file. The default is that an AIFF-C file...
...e file ends in '.aiff' in which case the default
is an AIFF file.
\end{funcdesc}

\begin{funcdesc}{aifc}{}
Create an AIFF-C file. The default is that an AIFF-C fi...
...e file ends in '.aiff' in which case the default
is an AIFF file.
\end{funcdesc}

\begin{funcdesc}{setnchannels}{nchannels}
Specify the number of channels in the audio file.
\end{funcdesc}

\begin{funcdesc}{setsampwidth}{width}
Specify the size in bytes of audio samples.
\end{funcdesc}

\begin{funcdesc}{setframerate}{rate}
Specify the sampling frequency in frames per second.
\end{funcdesc}

\begin{funcdesc}{setnframes}{nframes}
Specify the number of frames that are to b...
...not set, or not set correctly, the file needs to
support seeking.
\end{funcdesc}

\begin{funcdesc}{setcomptype}{type\, name}
Specify the compression type. If not ...
...ollowing compression types are supported:
NONE, ULAW, ALAW, G722.
\end{funcdesc}

\begin{funcdesc}{setparams}{(nchannels\, sampwidth\, framerate\, comptype\, comp...
...esult of a \code{getparams} call as argument to
\code{setparams}.
\end{funcdesc}

\begin{funcdesc}{setmark}{id\, pos\, name}
Add a mark with the given id (larger ...
...ition. This method can be called at any time before
\code{close}.
\end{funcdesc}

\begin{funcdesc}{tell}{}
Return the current write position in the output file. Useful in
combination with \code{setmark}.
\end{funcdesc}

\begin{funcdesc}{writeframes}{data}
Write data to the output file. This method can only be called after
the audio file parameters have been set.
\end{funcdesc}

\begin{funcdesc}{writeframesraw}{data}
Like \code{writeframes}, except that the header of the audio file is
not updated.
\end{funcdesc}

\begin{funcdesc}{close}{}
Close the AIFF file. The header of the file is updated...
...data After calling this method, the object
can no longer be used.
\end{funcdesc}